﻿using System;
using System.Collections.Generic;

namespace Poly2Tri
{
	// Token: 0x020003F2 RID: 1010
	public interface ITriangulatable
	{
		// Token: 0x170003CE RID: 974
		// (get) Token: 0x06001B9C RID: 7068
		IList<DelaunayTriangle> Triangles { get; }

		// Token: 0x170003CF RID: 975
		// (get) Token: 0x06001B9D RID: 7069
		TriangulationMode TriangulationMode { get; }

		// Token: 0x170003D0 RID: 976
		// (get) Token: 0x06001B9E RID: 7070
		// (set) Token: 0x06001B9F RID: 7071
		string FileName { get; set; }

		// Token: 0x170003D1 RID: 977
		// (get) Token: 0x06001BA0 RID: 7072
		// (set) Token: 0x06001BA1 RID: 7073
		bool DisplayFlipX { get; set; }

		// Token: 0x170003D2 RID: 978
		// (get) Token: 0x06001BA2 RID: 7074
		// (set) Token: 0x06001BA3 RID: 7075
		bool DisplayFlipY { get; set; }

		// Token: 0x170003D3 RID: 979
		// (get) Token: 0x06001BA4 RID: 7076
		// (set) Token: 0x06001BA5 RID: 7077
		float DisplayRotate { get; set; }

		// Token: 0x170003D4 RID: 980
		// (get) Token: 0x06001BA6 RID: 7078
		// (set) Token: 0x06001BA7 RID: 7079
		double Precision { get; set; }

		// Token: 0x170003D5 RID: 981
		// (get) Token: 0x06001BA8 RID: 7080
		double MinX { get; }

		// Token: 0x170003D6 RID: 982
		// (get) Token: 0x06001BA9 RID: 7081
		double MaxX { get; }

		// Token: 0x170003D7 RID: 983
		// (get) Token: 0x06001BAA RID: 7082
		double MinY { get; }

		// Token: 0x170003D8 RID: 984
		// (get) Token: 0x06001BAB RID: 7083
		double MaxY { get; }

		// Token: 0x170003D9 RID: 985
		// (get) Token: 0x06001BAC RID: 7084
		Rect2D Bounds { get; }

		// Token: 0x06001BAD RID: 7085
		void Prepare(TriangulationContext tcx);

		// Token: 0x06001BAE RID: 7086
		void AddTriangle(DelaunayTriangle t);

		// Token: 0x06001BAF RID: 7087
		void AddTriangles(IEnumerable<DelaunayTriangle> list);

		// Token: 0x06001BB0 RID: 7088
		void ClearTriangles();
	}
}
